
#ifndef DESIGN_PATTERNS_FLYWEIGHT_PIECEFACTORY_H
#define DESIGN_PATTERNS_FLYWEIGHT_PIECEFACTORY_H

#include <map>
#include "WhitePiece.h"
#include "BlackPiece.h"

class PieceFactory
{
private:
  static std::map<char, Piece*> pmap_;

public:

  static Piece& GetPiece(const char& type);

  ~PieceFactory();
};

#endif //DESIGN_PATTERNS_FLYWEIGHT_PIECEFACTORY_H
